#ifndef REPOANALYZERMANAGER_H
#define REPOANALYZERMANAGER_H

#include <threadingmanager.h>

class RepoAnalyzerManager : public ThreadingManager
{
    Q_OBJECT
public:
    explicit RepoAnalyzerManager(QObject *parent = nullptr);

    void setWorkDir(const QString &workdir);

signals:
    void solution(const QString &dir, const QString &name, const QString &path);
    void notify_solution(const QString &path, const QString &solution, bool manual = false);

    void commit_fast_solution(const QString &dir, const QString &name, const QString &path);
    void start_fast_solution();

    void applySettings();

    // ThreadingManager interface
public:
    virtual QObject* initialization() override;
};

#endif // REPOANALYZERMANAGER_H
